In the field of computing, a certain storage device is usually equipped to store data that is typically needed during operations. Compared to conventional hard disks, a flash disk has a higher read/write rate and can provide a high storage capacity up to TerraBytes (TB) through a flash disk array technology, so that it is applied more extensively. During use of the flash disk, commonly-used data in a plurality of disk partitions are usually put into a cache area so that these data are quickly accessible subsequently.
Since flash disks have a large storage capacity, they usually contain a large amount of cached data. When the cached data are stored, a plurality of divided lists is generated for a plurality of disk partitions. Each divided list contains cached data of the magnetic disk partition it corresponds to, and the cached data included in each divided list are ranked and placed according to heat of access to the cached data. When a certain cached data in the divided list is accessed recently, e.g., operations such as read, write, removal or substitution are performed for this cached data, the heat of access to this cached data is the highest and this cached data is ranked at the topmost position. Commonly-used data in the system change constantly and the capacity of the cache area is limited and data will not be automatically released even in the event of a power off, and therefore the cached data need to be removed constantly to improve a write/read rate of the flash disk.
When the used capacity in the cache area reaches a predetermined threshold, a conventional cached data removing method removes, in a cyclic manner, a piece of cached data ranked the bottommost from each divided list in turn, until a predetermined amount of cached data are removed.
However, there are certain drawbacks in the conventional technical solution. Since cached data with lower heat of access in the whole cache area cannot be determined exactly, the only measure is to simply remove the cached data ranked closer to the bottom from each divided list in a cyclic manner. This will lead to following situation wherein regarding a divided list with a higher activeness, for example, a divided list including more cached data which are more frequently accessed than that included in other divided lists, the cached data with higher heat of access in the whole cache area included in the divided list might be removed; in contrast, regarding a divided list with a lower activeness, the cached data with lower heat of access included in the divided list might not be removed, so that the read/write rate of the flash disk gets lower.